Many devices such as laptops, cellular phones, personal media players, cameras, book readers, etc. are now equipped with the capability to access the Internet through wireless networks. The number of devices having a number of different radio technologies built in to access networks of different types is also rapidly increasing. It is not uncommon now to be able to access one or more cellular data networks, in addition to wireless LAN networks. In addition, especially in the Wireless LAN space, more and more networks are becoming available that provide free or unrestricted Internet access. Some of these networks will be found in an opportunistic fashion, i.e. a device will not be aware of the functionality provided by a particular network until it connects to the network and attempts to perform the desired Internet service.
For most wireless LAN networks, e.g., Wi-Fi networks deployed in homes, restaurants, coffee shops, quick serve restaurants, hotels, airports, etc., it is not uncommon for a user to have to more or less randomly pick and test one network after another to find a usable, open network. Once one of these networks has been found and connected to, it is not uncommon for the user, or a piece of client software residing on the user's device on behalf of the user, to have to take additional steps, post-network authentication, to negotiate a successful Internet connection. This process is error prone and onerous to the user, and does not provide for ways to inform a user of networks not to use. It also does not provide for a method for one user to obtain network information and to then dynamically share this information with other users, either in their immediate vicinity at a given point in space and time, or through a collaborative, distributed network.